一個一個數,就能把想要的內容印出來,list
的基礎運用在這裡!Licensed by Adobe Stock
上次 Jason 已經教 Meiko 運用for-loop
及串列list
的一點點內容,成功印出星期一到星期日了!但好像還是缺了些內容,讓我們繼續看下去...
Meiko:「是老師教得好,不過我也蠻聰明的拉!等一下,我發現我們只把星期一到星期日印出來,可是 Jason,我原本想的是要程式告訴我每天花多少錢耶!」
Jason:「現在,你已經會印出星期一到星期日了存在weekName
裏邊 ,然後你又有每一天花的錢存在spendList
裡面。你覺得這兩個串列有什麼共通點?」
spendList=[205,350,520,240,330,180,2000]
weekName=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
Meiko:「我看一下,看起來兩個串列都有 7 個資訊,spendList
裡面存的是我花的錢,weekName
裡面存的是星期一到星期日,所以如果我可以找到一個方法,把每一天花的錢,對上那一天叫做星期幾,程式應該又可以告訴我那天花了多少錢?是這樣嗎?」
Jason :「沒錯!」
Meiko:「但我對怎麼印出來不太有想法耶,我只想到『星期一:205元,星期二:350元...這樣的呈現方法。』」
Jason:「你要不要想想看,如果是星期一的話,就印出星期一花的錢?」
Meiko:「那就只要專注在星期一就好了,聽起來好像比較簡單一些,但我還是不知道要怎麼做耶!」
Jason:「你記得我們在 Day-3 腦波弱?讓程式協助你判斷 !的時候教過if-else
判斷式?」
Meiko:「歐!記得!所以是要用if
等於星期一的意思嗎?」
Jason:「可以這樣理解,要讓程式比對出星期一的話for-loop
的變數i
就要在讓它等於 0 對吧?」
Meiko:「星期一是第一個元素,第一個元素是從 0 開始!」
Jason:「沒錯!所以應該會有一個if i==0:
的條件判斷式,讓程式可以取出串列對應的數值,像這樣」
spendList=[205,350,520,240,330,180,2000]
weekName=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
for i in range(7):
if i==0:
print (weekName[i],spendList[i])
Meiko:「但印出來好像都是數字,看不出來是什麼意義?」
Jason:「啊,因為我還沒教你如何顯示帶有參數的字串。」
Meiko:「帶有參數的字串?聽起來像外星語...」
Jason:「像這樣,你看print
在『元』這個字後面有一個%
,之後括號裡面有兩個參數分別是weekName[i]
和spendList[i]
,在%
之前,則是針對這兩個參數,進行的字串說明,也就是我剛說的帶有參數的字串。」
print ('%s,你花了 %s 元'%(weekName[i],spendList[i]))
Jason:「我們進一步看'%s,你花了 %s 元'
,這個字串裡面有兩個%s
的符號,是 Python內建,在列印出字串時的格式,你就把想成是一種英文文法的規定好了,也就是說當程式的編譯器(翻譯電腦程式的機器),讀到%s
這個符號會知道說,『歐,你想要印出參數!』,那在這個例子,這句話就包含了兩個參數一個是weekName[i]
另外一個是spendList[i]
,這樣程式就能夠印出像人話的回饋!執行下面的程式就會看到像這樣」
spendList=[205,350,520,240,330,180,2000]
weekName=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']
for i in range(7):
print ('%s,你花了 %s 元'%(weekName[i],spendList[i]))
Meiko:「看起來這些符號對應的位置,就是weekName[i]
和spendList[i]
的位置,所以你意思是這樣子,我們就可以讓串列裡面的內容,穿插在『你花了』這樣的文字中?」
Jason:「你記得原本的print()
,只放了weekName[i]
?現在我們把spendList[i]
也放進去,讓程式印出來的內容比較人性化一些。」
Meiko:「原來是醬!這樣我就能夠讓電腦印出有人性的數據資料給我看拉!真不錯!不過,如果我想要...」
漸漸地 Meiko 也開始思考更多不同的程式寫法了...未完待續!
我大寶寶~拉,今天還沒把所有的list
內容講完,所以不急著出練習給大家,不過有沒有覺得前面幾天提到的print()
、if-else
判斷式、for-loop
都回來了?
沒錯!寫程式就是像這樣慢慢的堆疊,把先前學到的內容一步步的應用,才能真的融會貫通!
歡迎登入留言跟我分享你的想法唷!(登入不麻煩,點一下 FB 登入就可以留言了!)
1.喜歡這樣方式學 Python 的朋友請留言『+1』
2.如果前面的內容忘記了,趕快看一下大寶寶這一系列的看對話學 Python 資料分析,用情境故事帶你入門的列表!就能夠繼續 Happy Coding 囉!